home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / bbs_soft / ppagemod.zip / PPE-PAGE.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-05-17  |  6KB  |  310 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     String   STRING001
  29.     String   STRING002
  30.     String   STRING003
  31.     String   STRING004
  32.     String   STRING005
  33.     String   STRING006
  34.     String   STRING007
  35.     String   STRING008
  36.     String   TSTRING009(251)
  37.     String   STRING010
  38.     String   TSTRING011(26)
  39.     String   STRING012
  40.     String   STRING013
  41.     String   STRING014
  42.     String   STRING015
  43.     Time     TIME001
  44.     Time     TIME002
  45.     Time     TIME003
  46.  
  47. ;------------------------------------------------------------------------------
  48.  
  49.     If (Exist(PPEPath() + "PPE-PAGE.CNF") == 0) Then
  50.         PrintLn 
  51.         PrintLn "ERROR: File " + "" + " not found!  Please nodify SysOp..."
  52.         PrintLn 
  53.         Wait
  54.         End
  55.     Endif
  56.     FOpen 1, PPEPath() + "PPE-PAGE.CNF", 0, 0
  57.     FGet 1, INTEGER002
  58.     FGet 1, INTEGER003
  59.     FGet 1, STRING006
  60.     FGet 1, STRING007
  61.     FGet 1, STRING008
  62.     FGet 1, STRING001
  63.     FGet 1, STRING002
  64.     FGet 1, STRING003
  65.     FGet 1, STRING004
  66.     FGet 1, STRING005
  67.     FGet 1, STRING015
  68.     FGet 1, STRING010
  69.     FClose 1
  70.     GetUser
  71.     Log U_Name() + " (" + String(U_Sec) + ") SysOp Page at (" + Left(String(Time()), 5) + ")", 0
  72.     If (Exist(STRING001) > 0) Then
  73.         FOpen 1, STRING001, 0, 0
  74.         FGet 1, INTEGER006
  75.         For INTEGER007 = 1 To INTEGER006
  76.             FGet 1, TSTRING009(INTEGER007)
  77.             If (U_Name() == Upper(TSTRING009(INTEGER007))) Goto LABEL003
  78.         Next
  79.         FClose 1
  80.     Endif
  81.     TIME003 = Time()
  82.     If (Len(STRING006) == 5) STRING006 = STRING006 + ":00"
  83.     If (Len(STRING007) == 5) STRING007 = STRING007 + ":00"
  84.     STRING008 = Left(STRING008 + "YYYYYYY", 7)
  85.     TIME001 = STRING006
  86.     TIME002 = STRING007
  87.     If ((U_Sec < INTEGER002) || (U_Sec > INTEGER003)) Goto LABEL004
  88.     If (((TIME001 <= TIME002) && (TIME001 <> 0)) && (TIME002 <> 0)) Then
  89.         If ((TIME003 < TIME001) || (TIME003 > TIME002)) Goto LABEL005
  90.     Else
  91.         If ((TIME003 < TIME001) && (TIME003 > TIME002)) Goto LABEL005
  92.     Endif
  93.     If (Upper(Mid(STRING008, Dow(Date()) + 1, 1)) == "N") Goto LABEL006
  94.     Cls
  95.     If (Exist(STRING002)) Then
  96.         DispFile STRING002, 4 + 2 + 1
  97.     Else
  98.         PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
  99.         PrintLn "@X70│ @X75* @X74PCBOARD @X75*     @X70==@X71 O  P  E  R  A  T  O  R    P  A  G  E @X70==     @X75* @X74PCBOARD @X75* @X7F│@X07"
  100.         PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
  101.     Endif
  102.     PrintLn 
  103.     InputText "Why do you want to page the SysOp", STRING013, 14, 43
  104.     If (Exist(STRING004) > 0) Then
  105.         FOpen 1, STRING004, 0, 0
  106.         FGet 1, INTEGER009
  107.         For INTEGER007 = 1 To INTEGER009
  108.             FGet 1, TSTRING011(INTEGER007)
  109.             If (STRING013 == Upper(TSTRING011(INTEGER007))) Goto LABEL009
  110.             If (STRING013 == Lower(TSTRING011(INTEGER007))) Goto LABEL009
  111.             If (STRING013 == TSTRING011(INTEGER007)) Goto LABEL009
  112.         Next
  113.         FClose 1
  114.         If ((STRING013 == "") || (Len(STRING013) <= 3)) Goto LABEL010
  115.         If (STRING013 <> "") Gosub LABEL001
  116.     Endif
  117.     Log "Reason: " + STRING013, 0
  118.     TIME003 = Time()
  119.     Newlines 2
  120.     Print "@X0EPage ends in " + STRING015 + " seconds. @X0C(@X0ECtrl-K@X0C) @X0EAborts @X0F."
  121.     While (TIME003 + STRING015 > Time()) Do
  122.         INTEGER008 = Abort()
  123.         If (INTEGER008) Goto LABEL011
  124.         STRING014 = KInkey()
  125.         If (STRING014 == Chr(32)) Goto LABEL008
  126.         INTEGER001 = INTEGER001 + 1
  127.         If (INTEGER001 % STRING010 == 0) Then
  128.             Print "@X0F."
  129.             Print "@X09."
  130.             Sound 1100
  131.             Delay 8
  132.             Sound 800
  133.             Delay 6
  134.             Sound 0
  135.         Endif
  136.     EndWhile
  137.     If (PageStat() == 0) PageOn
  138.     Goto LABEL002
  139.     End
  140.     :LABEL001
  141.     WrUNet PcbNode(), "Paging SysOp", U_Name(), U_City, "", ""
  142.     INTEGER004 = GetX()
  143.     INTEGER005 = GetY()
  144.     AnsiPos 1, 1
  145.     Color 63
  146.     SPrintLn "┌────────────────────────────────────────────────────────────────────────────┐"
  147.     SPrintLn "│ [SysOp] - Press (SPACE) to acknowledge Operator Page, (ESC) when finished. │"
  148.     SPrintLn "└────────────────────────────────────────────────────────────────────────────┘"
  149.     Color DefColor()
  150.     AnsiPos INTEGER004, INTEGER005
  151.     Return
  152.     :LABEL002
  153.     Newlines 2
  154.     If (Exist(STRING003)) Then
  155.         DispFile STRING003, 4 + 2 + 1
  156.     Else
  157.         PrintLn "@X0CSorry, the Sysop is not currently available for CHAT!"
  158.     Endif
  159.     Goto LABEL007
  160.     :LABEL003
  161.     FClose 1
  162.     PrintLn 
  163.     PrintLn "@X0CSorry, the Sysop is not currently available for CHAT!"
  164.     Goto LABEL007
  165.     :LABEL004
  166.     PrintLn 
  167.     PrintLn "@X0ESorry, insufficient Security to page for SysOp!"
  168.     Goto LABEL007
  169.     :LABEL005
  170.     PrintLn 
  171.     PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
  172.     PrintLn "@X70│ @X71Sorry, @FIRST@, you may only PAGE for the SysOp in the HOURS listed below:@POS:78@@X7F│@X07"
  173.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
  174.     PrintLn 
  175.     PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
  176.     PrintLn "@X70│ @X74Beginning Time: @X7E" + String(TIME001) + " am                       @X74Ending Time: @X7E" + String(TIME002) + " pm @X7F│@X07"
  177.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
  178.     Goto LABEL007
  179.     :LABEL006
  180.     PrintLn 
  181.     PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
  182.     PrintLn "@X70│ @X71Sorry, @FIRST@, you may only PAGE for the SysOp in the DAYS listed below: @POS:78@@X7F│@X07"
  183.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
  184.     PrintLn 
  185.     PrintLn "@X07@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
  186.     PrintLn "@X70│  @X74SUN@X70=@X71" + Mid(STRING008, 1, 1) + "      @X74MON@X70=@X71" + Mid(STRING008, 2, 1) + "      @X74TUE@X70=@X71" + Mid(STRING008, 3, 1) + "      @X74WED@X70=@X71" + Mid(STRING008, 4, 1) + "      @X74THU@X70=@X71" + Mid(STRING008, 5, 1) + "      @X74FRI@X70=@X71" + Mid(STRING008, 6, 1) + "      @X74SAT@X70=@X71" + Mid(STRING008, 7, 1) + "   @X7F│@X07"
  187.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
  188.     :LABEL007
  189.     PrintLn 
  190.     InputYN "Would you like to leave a comment to the Sysop instead Y/N", STRING012, 10
  191.     If (STRING012 <> YesChar()) Stop
  192.     KbdStuff "C" + Chr(13) + "Y" + Chr(13)
  193.     End
  194.     :LABEL008
  195.     Chat
  196.     End
  197.     :LABEL009
  198.     Cls
  199.     If (Exist(STRING005)) Then
  200.         DispFile STRING005, 4 + 2 + 1
  201.     Else
  202.         PrintLn Chr(7) + Chr(7) + Chr(7)
  203.         PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X07"
  204.         PrintLn "@X40│              @X4EThe Reason you gave for paging the SysOp is NOT                @X4C│@X07"
  205.         PrintLn "@X40│              @X4EAcceptable!                                                    @X4C│@X07"
  206.         PrintLn "@X40│                                                                 @X4C            │@X07"
  207.         PrintLn "@X40│                              @X40PAGE ABORTED...                                @X4C│@X07"
  208.         PrintLn "@X40│                                                                             @X4C│@X07"
  209.         PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────┘@X07"
  210.     Endif
  211.     PrintLn 
  212.     End
  213.     :LABEL010
  214.     End
  215.     :LABEL011
  216.     ResetDisp
  217.     If (PageStat() == 0) PageOn
  218.     Newlines 1
  219.     End
  220.  
  221. ;------------------------------------------------------------------------------
  222. ;
  223. ; Usage report (before postprocessing)
  224. ;
  225. ; ■ Statements used :
  226. ;
  227. ;    7       End
  228. ;    2       Cls
  229. ;    1       Wait
  230. ;    2       Color 
  231. ;    35      Goto 
  232. ;    16      Let 
  233. ;    3       Print 
  234. ;    38      PrintLn 
  235. ;    28      If 
  236. ;    3       DispFile 
  237. ;    3       FOpen 
  238. ;    4       FClose 
  239. ;    16      FGet 
  240. ;    1       ResetDisp
  241. ;    1       GetUser
  242. ;    2       Log 
  243. ;    1       InputYN 
  244. ;    1       Gosub 
  245. ;    1       Return
  246. ;    2       Delay 
  247. ;    3       Newlines 
  248. ;    1       Stop
  249. ;    1       InputText 
  250. ;    1       KbdStuff 
  251. ;    1       WrUNet 
  252. ;    2       AnsiPos 
  253. ;    3       Sound 
  254. ;    1       Chat
  255. ;    3       SPrintLn 
  256. ;    2       PageOn
  257. ;
  258. ;
  259. ; ■ Functions used :
  260. ;
  261. ;    1       %
  262. ;    49      +
  263. ;    13      ==
  264. ;    4       <>
  265. ;    5       <
  266. ;    4       <=
  267. ;    6       >
  268. ;    4       >=
  269. ;    11      !
  270. ;    7       &&
  271. ;    5       ||
  272. ;    3       Len(
  273. ;    1       Lower()
  274. ;    3       Upper()
  275. ;    8       Mid()
  276. ;    2       Left()
  277. ;    6       Chr()
  278. ;    1       Abort()
  279. ;    1       Date()
  280. ;    4       Time()
  281. ;    3       U_Name()
  282. ;    1       Dow()
  283. ;    1       YesChar()
  284. ;    4       String()
  285. ;    2       PPEPath()
  286. ;    1       PcbNode()
  287. ;    6       Exist()
  288. ;    1       GetX()
  289. ;    1       GetY()
  290. ;    1       DefColor()
  291. ;    1       KInkey()
  292. ;    2       PageStat()
  293. ;
  294. ;------------------------------------------------------------------------------
  295. ;
  296. ; Analysis flags : No flag
  297. ;
  298. ;------------------------------------------------------------------------------
  299. ;
  300. ; Postprocessing report
  301. ;
  302. ;    2       For/Next
  303. ;    1       While/EndWhile
  304. ;    8       If/Then or If/Then/Else
  305. ;    0       Select Case
  306. ;
  307. ;------------------------------------------------------------------------------
  308. ;                 AEGiS Corp - Break the routines, code against the machines!
  309. ;------------------------------------------------------------------------------
  310.